package jp.co.nec.tokens;

public class Token {
	
	/* Private variables*/
	private String tokenName;
	private TOKENTYPE tokenType;
	private int numValue;
	private char delimValue;
	private DELIMTYPE delimType;
	private char opValue;
	private int opPriority;
	private boolean isSpace;
	private boolean isInvalid;
	
	public static enum TOKENTYPE {
		INVALID, BLANKSPACE, DIGIT, OPERATOR, DELIMITER
	}
	
	public static enum DELIMTYPE {
		OPENDELIM, CLOSEDELIM
	}
	
	/* Setters and Getters for private variables */
	public String getTokenName() {
		return tokenName;
	}
	public void setTokenName(String tokenName) {
		this.tokenName = tokenName;
	}
	public int getNumValue() {
		return numValue;
	}
	public void setNumValue(int numValue) {
		this.numValue = numValue;
	}
	public char getDelimValue() {
		return delimValue;
	}
	public void setDelimValue(char delimValue) {
		this.delimValue = delimValue;
	}
	public DELIMTYPE getDelimType() {
		return delimType;
	}
	public void setDelimType(DELIMTYPE type) {
		this.delimType = type;
	}
	public char getOpValue() {
		return opValue;
	}
	public void setOpValue(char opValue) {
		this.opValue = opValue;
	}
	public int getOpPriority() {
		return opPriority;
	}
	public void setOpPriority(int opPriority) {
		this.opPriority = opPriority;
	}
	public boolean isSpace() {
		return isSpace;
	}
	public void setSpace(boolean isSpace) {
		this.isSpace = isSpace;
	}
	public boolean isInvalid() {
		return isInvalid;
	}
	public void setInvalid(boolean isInvalid) {
		this.isInvalid = isInvalid;
	}
	public TOKENTYPE getTokenType() {
		return tokenType;
	}
	public void setTokenType(TOKENTYPE tokenType) {
		this.tokenType = tokenType;
	}
	
	/* Constructor for Token class */
	public Token (String tokenName) {
		setTokenName(tokenName);
	}

	

}
